package com.bawei.module_publish.openlive.state

import com.bawei.module_publish.openlive.model.entity.GoodRecord
import com.bawei.module_publish.openlive.model.entity.MyGoodsEntity
import com.bawei.module_publish.openlive.model.entity.OnlineNumEntityItem
import com.bawei.module_publish.openlive.model.entity.OpenLiveBody
import com.bawei.module_publish.openlive.model.entity.OpenLiveEntity

sealed class LiveState {
    /**
     * 开启直播成功
     */
    data class OpenLiveSuccess(val msg: OpenLiveEntity) : LiveState()
    /**
     * 发送红包成功
     */
    data class SendPacketSuccess(val msg: Boolean) : LiveState()
    /**
     * 获取在线人数成功
     */
    data class GetOnlineNumSuccess(val msg: List<OnlineNumEntityItem>) : LiveState()
    /**
     * 删除直播间成功
     */
    data class DeleteLiveRoomSuccess(val msg: Boolean) : LiveState()
    /**
     * 获取商品成功
     */
    data class GetGoodsSuccess(val msg: MyGoodsEntity) : LiveState()
    /**
     * 商品上车
     */
    data class TopCarSuccess(val msg: Boolean) : LiveState()
    /**
     * 获取商品列表成功
     */
    data class GetGoodsListSuccess(val msg: MyGoodsEntity) : LiveState()
    /**
     * 正在介绍的商品成功
     */
    data class ExplainGoodsSuccess(val msg: Boolean) : LiveState()
    /**
     * 获取选品广场
     */
    data class GetSquareGoodsSuccess(val msg: MyGoodsEntity) : LiveState()
    /**
     * 添加或取消商品成功
     */
    data class AddOrCancelGoodsSuccess(val msg: Boolean) : LiveState()
    /**
     * 广告信息成功
     */
    data class AdInfoSuccess(val msg: Boolean) : LiveState()
    /**
     * 获取失败
     */
    data class Failed(val msg: String) : LiveState()

    /**
     * 空数据
     */
    object Empty : LiveState()

    /**
     * 初始情况
     */
    object Init : LiveState()
}